﻿using System;
using System.Collections.Generic;
using FriendlyURL.Web.Domain.Models;

namespace FriendlyURL.Web.Domain.Abstract
{
    public interface ILinkRepository
    {
        Link GetLinkByLinkID(int linkId);
        Link GetLinkByOwnerID(int ownerId);
        Link GetLinkByShortURL(string shortURL);
        IEnumerable<Link> GetLinks { get; }
        bool IsValidLink(string shortURL);
        bool LinkExists(Link link);

        Link CreateLink(string shortURL, string longURL, string description, DateTime createDate, int createdBy, DateTime modifiedDate, int modifiedBy, int ownerID, bool isActive, out AliasCreateStatus status);
        Link UpdateLink(int linkId, string columnName, string value);
        bool DeleteLink(int linkId);
    }
}
